<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./address.js"></script>
</head>
<body>
    <script>
        // 加载省
        var info = [];

        address.forEach(function (item) {

            if(item.TopID == 0){
                item.children = [];
                info.push(item);
            }
        });

        // console.log(info[0]);


        // address.forEach(item =>{
        //     var res = info.find(t=> t.ID== item.TopID);
        //     // info 是确定 数值少  
        //     // address 是确定 数值多
        //     // res 符合要求的省
        //     if(!res){
        //         return;
        //     }
        //     // console.log(res);
        //     item.children = [];
        //     res.children.push(item);
        // });
        // console.log(address);
        // console.log(info[0]);

        address.forEach(item =>{
            var res = info.findIndex(t=> t.ID== item.TopID);
            if(res ===  -1){
                return;
            }
            item.one = res; // 省的id
            // console.log(res); // 符合要求的省的下标
            item.two = info[res].children.length;
            // 市区在省中的id 
            item.children = [];
            info[res].children.push(item);
        });

        // console.log(address);


        // // 加载县   

        // // 假设 一个 x 的 ID 是224  x是市
        // // 遍历数组  找到topID是 224 放到 放到 x的children里面
        // // x 是在省的children里面
        // // x 是在二维数组中     
         
        // //所有县  是 {}
        // // 
        // // 省{[[]]}
        // //  市区{[]} 
        // // console.log(address)
        address.forEach(item =>{
            const res = address.find(t=> t.ID === item.TopID);
            if(!res){ //筛选 省和市区
                return
            }
            // console.log(res);
            if(res.one === undefined){ 
                // 省没有one  这里把省排除掉
                return;
            }

            // 一维  省  二维  市区  三维  县
            // 没有 one 没有two  说明不是市区
            // 有 one 有 two  说明是市区
            // if(res.one){
            //     console.log(res);
            // }
            // 市中有 one 有two
            console.log(item);
            info[res.one].children[res.two].children.push(item);
            

            

        });





    </script>

</body>
</html>